package cqut.wys;

import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.*;
import org.java_websocket.handshake.ServerHandshake;

import java.net.URI;

/**
 * WebSocket客户端实现
 * @author wuyoushan@zbj.com
 * @date 2017/3/15.
 */
public class WebClient extends WebSocketClient {

    /**
     * @param serverURI URL地址
     */
    public WebClient(URI serverURI) {

        this(serverURI,new Draft_10());
    }

    /**
     * @param serverUri     URL地址
     * @param draft         握手方式:4种Draft_10，Draft_17，Draft_75，Draft_76
     */
    public WebClient(URI serverUri, Draft draft) {
        super(serverUri, draft);
    }

    /**
     * 客户端连接触发事件
     * @param handshakedata
     */
    @Override
    public void onOpen(ServerHandshake handshakedata) {
        System.out.println("连接WebSocketServer服务成功");
    }

    /**
     * 发送消息触发的事件
     * @param message
     */
    @Override
    public void onMessage(String message) {
        System.out.println("WebSocketServer发送过来的消息"+message);
    }

    /**
     * 关闭事件
     * @param code
     * @param reason
     * @param remote
     */
    @Override
    public void onClose(int code, String reason, boolean remote) {
        System.out.println("连接服务已经关闭");
    }

    /**
     * 异常触发事件
     * @param ex
     */
    @Override
    public void onError(Exception ex) {
        ex.printStackTrace();
        System.out.println("出现异常错误"+ex.getLocalizedMessage());
    }
}
